A multi-state flash memory cell is implemented by identifying multiple, distinct allowed threshold voltage ranges. Each distinct threshold voltage range corresponds to a predetermined value for the set of data bits. The specific relationship between data programmed into the memory cell and the threshold voltage ranges of the memory cell depends upon the data encoding scheme adopted for the memory cells.
Typically, a program voltage is applied to control gates of the memory cells as a series of pulses. The magnitude of the pulses may be increased with each successive pulse by a predetermined step size (for example, 0.2 volts, 0.3 volts, 0.4 volts, or any other voltage). In the periods between the pulses, verify operations may be carried out. That is, the programming level of each memory cell of a group of memory cells being programmed in parallel may be sensed between each programming pulse to determine whether the programming level of each memory cell is equal to or greater than a verify level to which the cell is being programmed. One way to verify the programming is to test conduction at a specific compare point. The memory cells that are verified to be sufficiently programmed are locked out, for example, by raising the bit line voltage to stop the programming process for those memory cells.
Memory cells can be read by separately applying one or more read compare voltages to the control gate (or other terminal) of a selected memory cell and sensing whether the selected memory cell conducts sufficient current in response to the read compare voltage. In these read operations, unselected word lines on memory cells neighboring the selected memory cell are raised to a read pass voltage (for example, 7 to 10 volts) in order to make the associated transistors operate as pass gates. In contrast to the neighboring word lines, the selected word line is coupled to a voltage, a level of which is specified for each read operation, in order to determine whether a threshold voltage of the concerned memory cell has reached such level. Because the unselected word lines receive the pass voltage, the memory cells on the unselected word lines during a read operation receive a voltage on their control gate, which over many read operations, may cause electrons to be injected into their floating gate, thereby raising the threshold voltage of those memory cells. This effect is called read disturb.